package cursopoo

def o = new SubCaja()
o.mostrarValor()
o.mostrarThis()

// ------------------------------------------------------------------
class Caja {
    def mostrarValor() {
        println  'El valor viene de ' + valor()
    }
    def valor() {
        'metodo definido por clase Caja'
    }
    def mostrarThis() {
        println 'this = ' + this.dump()
    }
}
class SubCaja extends Caja {
    def valor() { 'metodo definido por clase SubCaja'}
    def mostrarThis() {
        println 'this = ' + this.dump()
        println 'Llamando a super...'
        super.mostrarThis()
    }
}